인텔 8259
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
인텔 8259는 1980년 최초의 PC에 채택된 인터럽트 컨트롤러로, 하드웨어 장치의 인터럽트 요청(IRQ)을 관리하고 CPU에 전달하는 역할을 한다. 8259는 여러 개의 인터럽트 요청 라인과 데이터 라인을 가지며, 최대 64개의 IRQ를 제공하기 위해 캐스케이딩될 수 있다. 8259는 프로그래밍 방식에 따라 다양한 작동 모드를 지원하며, DOS 및 Windows와의 하위 호환성을 위해 복잡한 프로그래밍 고려 사항을 갖는다. 최신 시스템에서는 사우스브리지 또는 플랫폼 컨트롤러 허브 칩셋 내부에 통합되어 있으며, APIC과 함께 x86 시스템의 호환성을 유지하는 데 기여한다.
더 읽어볼만한 페이지
- 인텔 칩셋 - 플랫폼 컨트롤러 허브
플랫폼 컨트롤러 허브(PCH)는 CPU와 주변 장치 간 통신을 담당하는 칩셋으로, 인텔 5 시리즈에서 처음 도입된 이후 다양한 모델로 발전해왔으며 AMD의 FCH와 유사한 기능을 수행하지만 설계 결함, 보안 문제 등의 과제도 안고 있다. - 인텔 칩셋 - 인텔 810
인텔 810은 1999년 인텔에서 출시한 통합 그래픽 칩셋으로, UMA 방식의 내장 그래픽, AGP 슬롯 부재, 메모리 제한, 3D 성능 부족 등의 한계에도 불구하고 가격 경쟁력과 허브 아키텍처 도입으로 사무용 및 저가형 PC 시장에서 널리 사용되며 PC 칩셋 설계에 영향을 미쳤다. - 인터럽트 - 프로그래머블 인터럽트 컨트롤러
프로그래머블 인터럽트 컨트롤러(PIC)는 컴퓨터 시스템에서 인터럽트 요청을 관리하며, 인터럽트 요청 레지스터 등을 사용하여 인터럽트를 처리하고 다양한 우선순위 체계를 지원하며, x86 아키텍처에서는 인텔 8259가 널리 사용되었다. - 인터럽트 - 도스 API
도스 API는 응용 프로그램이 MS-DOS 운영체제의 시스템 기능을 사용하도록 제공되는 인터페이스로, CP/M 호환성을 고려한 초기 설계 이후 유닉스 개념 도입, 네트워크 기능 추가 등으로 확장되었으며, 다양한 운영체제에서 에뮬레이터를 통해 지원된다. - IBM PC 호환기종 - EISA
EISA는 1988년 컴팩을 중심으로 한 PC 제조업체 컨소시엄이 IBM의 MCA에 대항하기 위해 개발한 32비트 PC 버스 표준으로, ISA 버스와의 호환성을 유지하면서 고급 기능을 제공하고 특허 및 라이선스 정책에서 자유로워 업계의 지지를 얻으며 PC 버스 기술 발전에 기여했다. - IBM PC 호환기종 - CP/M-86
디지털 리서치가 개발한 16비트 운영 체제 CP/M-86은 인텔 8086 프로세서용으로 설계된 CP/M-80의 후속작이었으나 MS-DOS에 밀려 널리 사용되지 못했고, 다양한 버전과 간지 CP/M-86도 존재했으며, 1990년대 후반에 오픈 소스화되었다.
인텔 8259 | |
---|---|
기본 정보 | |
![]() | |
유형 | 프로그램 가능한 인터럽트 컨트롤러 |
제조업체 | 인텔 |
도입 시기 | 1976년 |
기능 및 특징 | |
인터럽트 입력 | 8개 |
우선순위 방식 | 완전 중첩 모드 자동 회전 모드 특수 마스크 모드 |
트리거 모드 | 에지 트리거 레벨 트리거 |
인터럽트 벡터 | 프로그램 가능 |
슬레이브 모드 | 최대 64개의 인터럽트 입력 지원 |
캐스케이드 버퍼 | 3개 |
기술 사양 | |
패키지 | 28핀 DIP |
작동 온도 | 0 ~ 70°C |
전원 공급 장치 | +5V |
클럭 속도 | 10MHz (최대) |
관련 정보 | |
관련 제품 | 인텔 8253 인텔 8255 |
2. 역사
8259는 1980년 최초의 PC에 채택되었고, 1983년에 개발된 PC/XT에서도 계속 채택되었다. PC/AT 개발 시 두 번째 8259가 추가되었다. 8259는 대칭형 멀티프로세서 PC에서도 채용되었기 때문에, APIC과 공존하고 있다.
인텔 8259의 주요 기능은 여러 하드웨어 장치에서 발생하는 인터럽트 요청(IRQ)을 관리하고 우선순위를 지정하여 CPU에 전달하는 것이다. 8259는 8개의 인터럽트 요청 입력 라인(IR0-IR7), 인터럽트 요청 출력 라인(INTR), 인터럽트 응답 라인(INTA) 및 데이터 라인(D0-D7)을 가지며, 최대 8개의 8259를 캐스케이드 방식으로 연결하여 최대 64개의 인터럽트 요청을 처리할 수 있다.[1]
8259는 원래 단일 칩이었지만, 현재 최신 x86 마더보드에서는 사우스브리지(ICH) 또는 플랫폼 컨트롤러 허브(PCH)의 일부가 되었다.
3. 기능 설명
8259는 다음과 같은 기능을 제공한다.[1]
8259는 '''인터럽트 마스크 레지스터'''(IMR), '''인터럽트 요청 레지스터'''(IRR), '''서비스 중 레지스터'''(ISR)의 세 가지 레지스터를 갖는다.[1]
4. 프로그래밍 고려 사항
MS-DOS와 마이크로소프트 윈도우에서 8259를 프로그래밍하는 것은 하위 호환성 문제로 인해 복잡하다. 이는 1981년 오리지널 PC와의 호환성을 유지해야 했기 때문이다.
첫 번째 문제는 DOS 장치 드라이버가 장치 서비스를 마치면 8259에 비특정 EOI(End of Interrupt)를 전송해야 한다는 점이다. 이 때문에 DOS에서는 8259의 다른 EOI 모드를 사용하는 것이 불가능하며, 마스터 8259에서 슬레이브 8259로 재라우트된 장치 인터럽트 간의 구분이 어렵다.
두 번째 문제는 PC/AT에서 슬레이브 8259가 도입되면서 IRQ2 및 IRQ9 사용과 관련된 문제이다. 슬레이브 8259의 INT 출력은 마스터의 IR2에 연결되었고, 원래 IR2에 연결되었던 ISA 버스의 IRQ2 라인은 슬레이브의 IR1으로 리라우트되었다. 따라서 이전 IRQ2 라인은 CPU에서 IRQ9를 생성한다. BIOS는 IRQ2로 설정된 DOS 장치 드라이버와의 하위 호환성을 위해 인터럽트를 원래 IRQ2 핸들러로 리디렉션하는 IRQ9에 대한 핸들러를 설치한다.[11]
PC에서 BIOS (및 DOS)는 마스터 8259 인터럽트 요청(IRQ0-IRQ7)을 인터럽트 벡터 오프셋 8 (INT08-INT0F)에, 슬레이브 8259 (PC/AT 이후) 인터럽트 요청(IRQ8-IRQ15)을 인터럽트 벡터 오프셋 112 (INT70-INT77)에 매핑한다. 이는 프로세서가 처음 32개(INT00-INT1F) 인터럽트 벡터를 내부 예외를 위해 예약했음에도 불구하고 수행되었다. 대부분의 다른 운영 체제는 8259 IRQ를 다른 인터럽트 벡터 기본 오프셋에 매핑한다.
4. 1. 에지 및 레벨 트리거 모드
ISA 버스는 레벨 트리거 인터럽트를 지원하지 않으므로, ISA 장치와 함께 사용되는 8259는 에지 트리거 모드로 프로그래밍해야 한다. 최신 시스템에서는 에지/레벨 제어 레지스터(ELCR)를 통해 IRQ 라인별 모드를 제어할 수 있다. ELCR은 x86 I/O 주소 공간의 0x4d0 및 0x4d1에 위치하며, 각 비트는 8259의 IRQ에 해당한다. 비트가 설정되면 IRQ는 레벨 트리거 모드에 있고, 그렇지 않으면 IRQ는 에지 트리거 모드에 있다.4. 2. 스퓨리어스 인터럽트
8259는 특정 조건에서 스퓨리어스(가짜) 인터럽트를 생성할 수 있다.첫 번째는 인터럽트 요청(IRQ) 라인이 승인되기 전에 비활성화되는 경우이다. 이는 IRQ 라인의 노이즈 또는 풀업 저항에 의해 발생할 수 있다. 이러한 경우, 일반적으로 스퓨리어스 IRQ7이 생성된다.[10]
두 번째는 마스터 8259의 IRQ2가 인터럽트 승인의 하강 에지에서 슬레이브 8259의 IRQ 라인이 비활성 상태일 때 하이로 활성화되는 경우이다. 이 경우는 드물지만, 스퓨리어스 IRQ15가 생성된다.
PC-9800 시리즈에서는 스퓨리어스 인터럽트가 발생할 수 있는 IRQ7은 캐스케이드용, IRQ15는 접지에 할당하여 노이즈로 처리한다.[11]
5. PC/XT 및 PC/AT에서의 8259
인텔 8259는 1980년 최초의 PC에 채용되었으며, 1983년에 개발된 PC/XT에서도 계속 사용되었다. PC/XT는 8259 컨트롤러를 하나만 가지고 있었지만, PC/AT에서는 마스터와 슬레이브, 두 개의 8259 컨트롤러를 사용하여 IRQ0부터 IRQ15까지의 인터럽트 라인을 제공했다. 8259는 대칭형 멀티프로세서 PC에서도 채용되었기 때문에, APIC과 공존하고 있다.[1]
8259는 원래 단일 칩이었지만, 현재 최신 x86 마더보드에서는 사우스브리지(ICH) 또는 플랫폼 컨트롤러 허브(PCH)의 일부가 되었다.[1]
5. 1. PC/XT 및 PC/AT의 IRQ 할당 (참고)
PC/XT ISA 시스템은 8259 컨트롤러를 하나만 가지고 있었지만, PC/AT 및 이후 시스템은 마스터와 슬레이브, 두 개의 8259 컨트롤러를 가지고 있었다. IRQ0부터 IRQ7까지는 마스터 8259의 인터럽트 라인이고, IRQ8부터 IRQ15까지는 슬레이브 8259의 인터럽트 라인이다. 8259의 핀에 있는 라벨은 IR0부터 IR7까지이다. IRQ0부터 IRQ15까지는 8259가 연결된 ISA 버스의 라인 이름이다.마스터 8259 | 슬레이브 8259 (PC/AT 및 그 후계 기종만) |
---|---|
처음에는 IRQ7이 사운드 카드에 자주 사용되었지만, 나중에 IRQ7이 프린터 포트(LPT1)에 사용되면서 IRQ5가 사용되게 되었다. 시리얼 포트는 다른 장치를 위해 IRQ를 개방하기 위해 종종 비활성화되었다.
6. 8259A
8259A는 8259의 개선된 버전으로, 버퍼 모드 및 레벨 트리거 모드와 같은 추가 기능을 제공하며 하위 호환성을 유지한다.[1] 8259A는 에지 및 레벨 인터럽트 트리거 모드를 지원하며,[2] 고정 우선 순위 및 회전 우선 순위 모드를 지원한다.[3]
인터럽트 종료(EOI) 연산은 특정 EOI, 비특정 EOI 및 자동 EOI를 지원한다.[4] 특정 EOI는 ISR에서 승인하는 IRQ 레벨을 지정하고,[5] 비특정 EOI는 ISR에서 IRQ 레벨을 재설정하며,[6] 자동 EOI는 인터럽트가 승인된 직후 ISR에서 IRQ 레벨을 재설정한다.[7]
8259는 8080/8085 또는 8086/8088과 함께 작동하도록 구성할 수 있다.[8] 8086/8088에서 인터럽트 컨트롤러는 인터럽트가 발생하면 데이터 버스에 인터럽트 번호를 제공한다.[9] 8080/8085의 인터럽트 사이클은 데이터 버스에 3바이트를 발행한다(8080/8085 명령어 집합의 CALL 명령어에 해당).[10]
7. 8259의 현대적 위치
8259는 원래 단일 칩이었지만, 현재 최신 x86 마더보드에서는 사우스브리지(ICH) 또는 PCH의 일부가 되었다. 1980년 최초의 PC에 채용되었고, 1983년에 개발된 PC/XT에서도 계속 채용되었다. PC/AT 개발 시 두 번째 8259가 추가되었다. 8259는 대칭형 멀티프로세서 PC에서도 채용되었기 때문에, APIC과 공존하고 있다.
참조
[1]
웹사이트
Intel datasheet
https://www.datashee[...]
2024-04-30
[2]
문서
In quantities of 100 and up
[3]
간행물
8086 Available for industrial environment
Intel Corporation
1980-05
[4]
간행물
Microcomputer Component: New industrial grade product line answers the demand for high-reliability components to operate in industrial applications.
Intel Corporation
1979-03
[5]
간행물
Military Products: Intel marches on!
Intel Corporation
1979-03
[6]
간행물
NewsBit: Intel Licenses Oki on CMOS Version of Several Products
Intel Corporation
1984-07
[7]
문서
Sampling Q1 1986
[8]
간행물
Advanced Packaging: A Little Goes A Long Way
Intel Corporation
1986-01
[9]
서적
マイクロコンピュータシリーズ15 8086マイクロコンピュータ
丸善株式会社
1983-04-30
[10]
서적
PC-9801解析マニュアル[第0巻]
秀和システムトレーディング株式会社
1983-06-30
[11]
서적
PC-9801/E/F/M インタフェース解析マニュアル[第5巻]
秀和システムトレーディング株式会社
1984-12-18
[12]
웹인용
Intel datasheet
https://www.datashee[...]
2024-04-30
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com